﻿using MongoDB.Bson;
using MongoDB.Bson.Serialization.Attributes;
using Sustainalytics.BusinessResearchProductStates.Entities.ResearchState;
using System;
using System.Collections.Generic;

namespace Sustainalytics.Entities
{
    public class FilterCriteria : IEntity
    {
        public Guid Id { get; set; }
        public string Name { get; set; }
        public Guid CriteriaLevel2Id { get; set; }
        public Guid CriteriaLevel3Id { get; set; }
        public string CriteriaEntity { get; set; }
        public string CriteriaEntityField { get; set; }
        public CriteriaTypeEnum CriteriaType { get; set; }
        public Guid? FilterId { get; set; }
        public Guid? FilterGroupId { get; set; }
        public int Order { get; set; }
        public bool IsDataPoint { get; set; }
        public string SelectedValue { get; set; }
        public string SelectedValueInformation { get; set; }
        public Guid TemplateCriteriaId { get; set; }

        [BsonRepresentation(BsonType.String)]
        public List<ResearchProduct> ResearchProducts { get; set; }
        public bool HasFullRangeChart { get; set; }

        public bool IsTemporary { get; set; }
    }
}
